Slicing Aspect-oriented program Hierarchically

نویسندگان

  • S. R. Mohanty
  • P. K. Behera
  • D. P. Mohapatra
چکیده

While developing a software system, the complexity in describing a problem should be reduced. This can be done by separating the concern in a clean and explicit way. Each of the concern can be addressed by partitioning a software system into modules. Concerns are clearly identifiable with a special linguistic construct called Aspects, which has been introduced by a new programming paradigm known as aspect-oriented programming. No doubt aspect-oriented programming brings lots of opportunities for the software developer. On the other hand, it is very difficult for analysing those programs for different software engineering activities. In such scenario, slicing plays a vital role. This paper proposes an approach to compute the dynamic slices of aspect-oriented programs. In our approach, we have introduced different level dependence graphs, such as aspectoriented statement level dependence graph, aspect-oriented method level dependence graph, aspect-oriented AC weaving level dependence graph, aspect-oriented package level dependence graph to represent an aspect-oriented program under consideration. Then, we apply aspect-oriented reverse hierarchical dynamic slicing algorithm on the intermediate program representation to compute the dynamic slices. Our algorithm traverses the dependence edges starting from the slicing node in a reverse hierarchical manner to list the reached node, which constitute the dynamic slice of the aspect-oriented program under consideration. This approach is advantageous as it constructs the graph and computes the dynamic slices level wise. At a particular instance the level dependence graph is quite manageable and quickly traversed. It can also generate intermediate slices moving from the statement level to package level. The space complexity of our algorithm is O(n ), where n is the total number of nodes in the graph and time complexity is O(n ), Where n is the total number of executed statements in the execution trace of the program.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Slicing Aspect-Oriented Software

Program slicing has many applications in software engineering activities including program comprehension, debugging, testing, maintenance, and model checking. In this paper, we propose an approach to slicing aspect-oriented software. To solve this problem, we present a dependencebased representation called aspect-oriented system dependence graph (ASDG), which extends previous dependence graphs,...

متن کامل

Extending Program Slicing in Aspect-Oriented Programming with Inter-Type Declarations

Program slicing can be very useful for understanding and debugging aspect-oriented programs. Program slicing is a common technique, but it is not trivial to use in aspectoriented programming. Current implementations of slicing tools lack support for features of popular aspect-oriented languages. This paper proposes a detailed algorithm for the construction of an aspect-oriented system dependenc...

متن کامل

Dynamic Slicing of Aspect-Oriented Programs

Program slicing is a decomposition technique which has many applications in various software engineering activities such as program debugging, testing, maintenance etc. Aspect-oriented programming (AOP) is a new programming paradigm that enables modular implementation of cross-cutting concerns such as exception handling, security, synchronization, logging etc. The unique features of AOP such as...

متن کامل

An Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs

We propose a dynamic slicing algorithm to compute the slice of concurrent aspect-oriented programs. We use a dependence based intermediate program representation called Concurrent Aspect-oriented System Dependence Graph (CASDG) to represent a concurrent aspect-oriented program. The CASDG of an aspect-oriented program consists of a system dependence graph (SDG) for the non-aspect code, a group o...

متن کامل

Program Slicing Tool for Effective Software Evolution Using Aspect-Oriented Technique

One of the issues in software evolution is debugging. Debugging large and complex software systems evolved requires a lot of effort since it is very difficult to localize and identify faults. Therefore, reducing the effort of debugging process is an important step towards efficient software evolution. Program slicing, especially dynamic slicing, has been proposed to efficiently localize faults ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015